---@coding utf8
---@author error@qq.com

local LClass = {}

LClass._static_name = "LClass"

function LClass:TestL()
    print(self._static_name, "TestL", self)
end

function LClass:TestM()
    print(self._static_name, "TestM", self)
end

function LClass:TestN()
    print(self._static_name, "TestN", self)
end

local MClass = {}
MClass._static_name = "MClass"
setmetatable(MClass, {__index = LClass})
function MClass:TestL()
    print(self._static_name, "TestL", self)
end

local NClass = {}
NClass._static_name = "NClass"
setmetatable(NClass, {__index = MClass})

print(LClass, LClass._static_name)
print(MClass, MClass._static_name)
print(NClass, NClass._static_name)

LClass:TestL()
MClass:TestL()
NClass:TestL()
NClass:TestN()